package kr.shincooper.funnyhome.common;

import kr.shincooper.funnyhome.model.ResultModel;

/**
 * API와 관련된 유틸 모음 클래스.
 * 
 * @author bluemirr5
 *
 */
public class APIUtil {
	
	/**
	 * API의 반환 형태를 포멧팅한다.
	 * 
	 * @param resultCode
	 * @param resultMessage
	 * @param contents
	 * @param extras
	 * @return
	 */
	public static ResultModel makeAPIResult(
			int resultCode, 
			String resultMessage, 
			Object contents, 
			Object extras) {
		ResultModel rm = new ResultModel();
		rm.setContents(contents);
		rm.setExtras(extras);
		rm.setResultCode(resultCode);
		rm.setResultMessage(resultMessage);
		return rm;
	}
	
	/**
	 * API 반환 형태를 포멧팅한다.
	 * 
	 * @param resultCode
	 * @param resultMessage
	 * @param contents
	 * @return
	 */
	public static ResultModel makeAPIResult(
			int resultCode, 
			String resultMessage, 
			Object contents) {
		return makeAPIResult(resultCode, resultMessage, contents, null);
	}
	
	/**
	 * API 성공한 반환 형태를 포멧팅한다.
	 * 
	 * @param contents
	 * @param extras
	 * @return
	 */
	public static ResultModel makeSuccessAPIResult(
			Object contents, 
			Object extras) {
		return makeAPIResult(0, "SUCCESS", contents, extras);
	}
	
	/**
	 * API 성공한 반환 형태를 포멧팅한다.
	 * 
	 * @param contents
	 * @return
	 */
	public static ResultModel makeSuccessAPIResult(
			Object contents) {
		return makeAPIResult(0, "SUCCESS", contents);
	}
	
}
